#pragma once
#include "actionchecker.h"
#include "Effect_KameCharge.h"
class Action_Kamehameha : public ActionChecker
{
public:
	Action_Kamehameha(void);
	~Action_Kamehameha(void);
	ActionInfo* GetActionInfo();
	const char* GetActionStr() const;
	void DrawEffects();
protected:
	void SetActionInfo(const JointInfo&, XnUInt32 userID, bool ifChange);
	void OnTimeout();
	void OnActionDetected();
	void OnResetAction();
	bool IsActionExcluding();
private:
	bool Pattern1(const JointInfo&);
	bool Pattern2(const JointInfo&);
	bool IsExternalPoint(XnPoint3D p1, XnPoint3D p2, XnPoint3D p);
	bool Action_Kamehameha::IsStraightHands(const JointInfo& joint);
	ActionInfo _actionInfo;
	int _energy;
	XnPoint3D _pCenter;
	Effect_KameCharge _effect;
	static const char* STR;
	int _SETime;
	int _smallerWaitTime;
};

